Token con flujo de client credentials
El flujo de client credentials es uno de los flujos de autenticación y autorización disponibles en BTG Id.
Este flujo se diferencia del flujo de Authorization Code en su complejidad y en el hecho de que este puede realizarse completamente en el backend.
Generación del token
Necesitaremos seguir la especificación de la solicitud disponible en Client Credentials. Comenzaremos por separar los datos que utilizaremos y luego construiremos la solicitud
Datos
- Separamos el endpoint en el que realizaremos la solicitud:
- https://id.btgpactual.com/oauth2/token para producción
- https://id.sandbox.btgpactual.com/oauth2/token para sandbox
- Buscamos nuestro clientId y client secret según lo mostrado aquí
- Codificamos en base64 una string que siga el formato:
- client_id:client_secret
- Separamos los scopes que deseamos enviar. Consulte la documentación del producto para verificar si este flujo lo atiende.
Solicitud
-
Crearemos una solicitud
POSTpara el endpoint referente al ambiente que estamos integrando -
Enviaremos en esta solicitud dos headers:
- Uno de ellos con nuestras credenciales codificadas según lo orientado en Datos: "Authorization: Basic <client_id:client_secret>"
- Uno de ellos con content-type: application/x-www-form-urlencoded

- Enviaremos en el form:
- Un campo
grant_typecon el valorclient_credentials - Un campo
scopecon el valor de los scopes de los servicios que desea integrar, separados por un espacio simple
- Un campo

Response
Hecho correctamente, esta solicitud nos devolverá un access token apto para operar los scopes solicitados en el campo scope